package com.wmx.java_8.stream;

import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;

import java.util.function.Consumer;

/**********************************
 * @author wmx
 * @date 2019/10/11 14:56
 * @description:
 * @version 1.0
 ************************************/
public class MethodReferencesDemo {
    public static void main(String[] args) {
        Consumer consumer = s -> System.out.println(s);
        userConsumer(consumer, "wumengxin");
        //简写 使用Lambda表达式的匿名的方式
        userConsumer(s -> System.out.println(s), "wumengxin");
        /**
         * 使用方法推导  方法推导的使用方式就是类后面加两个":"，再跟上要调用的方法名
         *
         * println方法 这个方法跟Consumer的方法定义一样，也是只有一个入参，没有返回参数，所以才
         * 可以用方法推导的方式
         */
        userConsumer(System.out::println, "wumengxin");
    }

    private static <T> void userConsumer(Consumer<T> consumer, T t) {
        consumer.accept(t);
        consumer.accept(t);
    }
}
